1
O Modelo de Execução SIMT e o Particionamento de Warps
AI032Lesson 6
00:00

O SIMT (Instrução Única, Vários Fios) modelo é o coração da arquitetura de GPU. Embora você escreva código para fios individuais, o hardware os organiza em uma hierarquia de dois níveis composta por malhas e blocos. Para maximizar a eficiência, o hardware particiona ainda mais esses blocos em unidades de 32 fios chamadas warps.

1. SIMT vs. SIMD

Diferentemente do SIMD da CPU (como SSE/AVX), onde você empacota os dados manualmente nos registradores, o SIMT permite que os fios pareçam independentes. O hardware agrupa automaticamente os fios em warps, buscando uma única instrução para todos os 32 fios para executá-la em sincronia.

2. Regra de Linearização

Os programadores usam threadIdx.x, y, z para lógica, mas o hardware transforma isso em uma sequência unidimensional para agendamento:

Índice = x + (y × blockDim.x) + (z × blockDim.x × blockDim.y)
Bloco 2D(8 × 8)Warp 0: IDs 0-31Warp 1: IDs 32-63

Como o eixo x é o índice que muda mais rapidamente, os fios com valores consecutivos de threadIdx.x geralmente são alocados no mesmo warp, o que é crucial para agregação de memória.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>